[C - Socket] UDP SERVER
Publicado por Enzo de Brito Ferber 10/03/2006
[ Hits: 10.597 ]
Homepage: http://www.maximasonorizacao.com.br
Este script testei na minha
propria máquina em terminas
diferentes, mas creio eu que
funcionará em uma rede local.
Como fazer funcionar:
Compile o script:
cc -o server server.c
Abra um terminal (xterm)
Execute o servidor.
Abra outro terminal (xterm)
Execute o cliente
P.S.: O cliente está em outro
link
#include <stdio.h> #include <stdlib.h> #include <netdb.h> #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #define PORT 3456 #define MAX_CONNECTS_TRY 10 int main(int argc, char *argv[]){ int fd1, fd2; int num_b; int bind_return; int listen_return; int sin_size; //para passar endereco para funcao accept() int msg_size; char msg[100]; char hostname[30]; struct sockaddr_in client; struct sockaddr_in host; gethostname(hostname, 30); printf("Seu HOSTNAME: %s\n\n", hostname); fd1 = socket(AF_INET, SOCK_DGRAM, 0); if(fd1 == -1){ perror("socket"); exit(1); } client.sin_family = AF_INET; client.sin_port = htons(PORT); client.sin_addr.s_addr = INADDR_ANY; //poe o endeco do meu computador automaticamente bind_return = bind(fd1, (struct sockaddr *)&client, sizeof(struct sockaddr)); if(bind_return == -1){ perror("bind"); exit(1); } while(strcmp("exit", msg) != 0){ memset(msg, 0x0, 100); sin_size = sizeof(host); msg_size = recvfrom(fd1, msg, 100, 0, (struct sockaddr *)&host, &sin_size); printf("Mensagem de:%s: %s\n", inet_ntoa(host.sin_addr), msg); } }
Funções básicas para conexão OpenSSL em C
Nenhum comentário foi encontrado.
Kernel ganha novos linters Rust e distros avançam com recursos de IA
Firewire resiste, Bcachefs sai: destaques Linux do dia
Kernel 6.18 em foco, betas fervilhando e avanços em IA no Linux
O que é o THP na configuração de RAM do Linux e quando desabilitá-lo
Adicionando o repositório backports no Debian 13 Trixie
Como definir um IP estático no Linux Debian
Como instalar Counter-Strike 1.6? (6)
intervenção politica pode interver no Fedora Linux [RESOLVIDO] (14)
Como colocar atalho para uma pasta na área de trabalho do Ubuntu 24.04... (0)